//全局变量
var arr = [];
var jid ;

//获得类型的集合
getTypes();
function getTypes(){
	$.ajax({
		url : 'getTypes.act',
		dataType : 'JSON',
		success : function(resp) {
			if (resp.success) {
					var treeArr=[];
					creatTrees(0, treeArr, resp.list)
					var myTree = $('#treeMenu').data('zui.tree');
					myTree.reload(treeArr);
							arr=resp.list;	
							console.log(arr)
				      // 移动框里的列表
		              var menuarr = [];
		              creatSetTrees(0,menuarr,resp.list,0,20);
		              var rss =  showJuri(menuarr);
		              $/jQuery('#moveApplyDiv').html(rss);
			}
		}
	})
}
// 开始渲染出类型的菜单栏
function creatTrees(pid,treeArr,juriArr){
	console.log('开始创建菜单栏')
    for(var i =0;i<juriArr.length;i++){   	
        var a = juriArr[i];
        var str1='';
		if(a.tState == 1){
			str1 = '禁用'
		}
		if(a.tState == 0){
			str1 = '启用'
		}
        if(a.tFid == pid){
			var str =`<a href="#">${a.tName}&emsp;`;
			if(a.tMoney!=0){
				str+=`相关运费:${a.tMoney}`;
			}
			str+=
            `<button class="btn btn-mini btn-link pull-right" style="margin-right: 50px;" onclick="UpdateState(${a.tId},${a.tFid},${a.tState})">${str1}</button>
			<button class="btn btn-mini btn-link pull-right" onclick="amend(${a.tId},&quot;${a.tName}&quot;)">修改</button>
			<button class="btn btn-mini btn-link pull-right" onclick="deletetype(${a.tId})">删除</button>
			<button class="btn btn-mini btn-link pull-right"  onclick="moveJuri(${a.tId},&quot;${a.tName}&quot;)">移动</button>`
            if(pid!=0){
                 str+=` <button class="btn btn-mini btn-link pull-right" onclick="moveGen(${a.tId})">移动至跟节点</button>`
            }
              str+= `</a>`   
          
            var jsonObj = {
                html:str,
                children: []
            };  
        treeArr.push(jsonObj);  
        creatTrees(a.tId, jsonObj.children, juriArr);
        
        }
       
	}

}


//类型禁用
function UpdateState(jid,pid,state){
	var sta ;
	var str;
	if(state==0){
		str='是否禁用此类型？'
		sta = 1;
	}
	if(state==1){
		str='是否启用此类型？'
		sta = 0;
	}			
	  layer.confirm(str, {
		    btn: ['确定','取消'] // 按钮
		  }, function(){
		    // 重置方法写这里
			  $.ajax({
					url:'updateTypeState.act',
					type:'post',
					dataType:'json',
					data:{
						jid:jid,
						pid:pid,
						state:sta
					},
					success:function(resp){
						if(resp.success){
							getTypes();
							 layer.msg('修改状态成功', {icon: 1});	
						}
					}				
				})			  
		  }, function(){
		    // 取消的方法写这里

		  });	
}
//类型删除
function deletetype(id){
	jid = id;
	layer.confirm("确定删除该类型？", {
		btn: ['确定','取消'] //按钮
	   ,skin: 'layui-layer-lan'
	   ,closeBtn: 0
	   ,anim: 3 //动画类型
   }, function(){

		$.ajax({
			url:'deleteType.act',
			type:'post',
			dataType:'json',
			data:{
				jid:jid
			},
			success:function(resp){
				if(resp.success){
					
					 layer.msg('修改状态成功', {icon: 1});
					 getTypes();	
				}
			}				
		})

		
	  }, function(){
		// 取消的方法写这里

	  });	
	
}




function amend(id,name1){
	jid = id;
	$("#menuName2").val(name1)
	  $('#amendData').modal({
	    show:true, // 展示出来
	    moveable:true, // 可移动
	    rememberPos:true, // 记住上一次移动位置
	    backdrop:'static' // 点击遮罩不会关闭
	  });
	}
function menuNameAmend(){
	$.ajax({
		url:'updateTypeName.act',
		type:'post',
		dataType:'json',
		data:{
			jid:jid,
			menuName:$("#menuName2").val()
		},
		success:function(resp){
			if(resp.success){
				getTypes();
				 layer.msg('修改成功', {icon: 1});	
			}
		}
	})	
}
// 移动至根目录
function moveGen(jid){
	$.ajax({
		url:'updateTypeJid.act',
		type:'post',
		dataType:'json',
		data:{
			jid:jid
		},
		success:function(resp){
			if(resp.success){
				getTypes();
				 layer.msg('修改成功', {icon: 1});	
			}
		}
		
	})	
}

// 移动
// 移动弹窗
var jJid ;
function moveJuri(jid,name){
	
	jJid = jid;
	html('menuName1', name);
    $('#moveData').modal({
      show:true, // 展示出来
      moveable:false, // 可移动
      rememberPos:true, // 记住上一次移动位置
      backdrop:'static' // 点击遮罩不会关闭
    });
}



// 创建移动权限选择栏
function creatSetTrees(pid,treeArr,juriArr,left,size){
	console.log("进入渲染数组方法")
    for(var i =0;i<juriArr.length;i++){
        var a = juriArr[i];
        if(a.tFid == pid){
            var jsonObj = {
                    html:` <label>
                    <input type="radio" name="setjuri" value="${a.tId}" style="margin-left:${(left+1)*20}px;">
                    <span style="font-size:${(size)}px;">${a.tName}</span>
                    </label>
                    <br>`,
                    children: []
                };       
        treeArr.push(jsonObj);  
        var toleft = left+1;// 每下一级右边距增加
        var toSize = size-3;// 每下一级字体缩小
        if(toSize<10)toSize = 10;// 设置字体最小值
        creatSetTrees(a.tId, jsonObj.children, juriArr,toleft,toSize);   
        }      
    }
}


// 渲染权限到页面
function showJuri(arr){
    var str ="";
    for(var i =0;i<arr.length;i++){
        str+=arr[i].html;      
        var child = showJuri(arr[i].children);
        str+=child;
    }
    return str;
}


//移动确定按钮
function sureSetJuri(){
	//获取选中的上级ID
		var moveJuriPid = $('input[name = setjuri]:checked').val();
	   $.ajax({		
		   type:'post',
		   url:'moveType.act',
		   dataType:'JSON',
		   data:{
			moveId:jJid,
			moveJuriPid:moveJuriPid
		   },
		   success:function(resp){
			   if(resp.success){
					 //询问框
					 layer.msg('移动成功', {
					   icon: 6,
					   btn: ['确定'] //按钮
				   }, function(){
					  getTypes();
					   $('#setJuri').modal('hide', 'fit')
						  
				   });
				  
			   }else{
				   errAlert(resp.errmsg);
			   }
					
		   }
	
	   })
	
	}

//添加新的类型
function doAdd(){
    $('#doAdd').modal({
        show:true,//展示出来
        moveable:true,//可移动
        rememberPos:true,//记住移动位置
        backdrop:'static'//背景遮罩
    });

}

function confirm(){
	// $('#doAdd').modal('hide', 'fit')
	var typeName = val('typeName');
	var typeMoney = val('typeMoney');
	console.log(typeName+typeMoney);
	$.ajax({
		url:ajax_host+'addType.act',
		type : 'post',
		dataType:'JSON',
		data:{
			typeName : typeName,
			typeMoney : typeMoney
		},
		success:function(resp){
			
			if(resp.success){
				//关闭遮罩
				$('#doAdd').modal('hide', 'fit');
				layer.alert('添加成功');
				getTypes();
			}else{
				$('#doAdd').modal('hide', 'fit');
				layer.alert(resp.errmsg);
			}
		}
})
}